home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
scope
/
101-125
/
scopedisk122
/
popup
/
source
/
portstuff.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-03-19
|
952b
|
42 lines
#include "PopUpMenu.h"
/*+++++++++++++++++++++++++++++++++++++++++++++
+ CreatePort(Name, Pri)
+ DeletePort(Port)
+
+ Replacements for amiga.lib
+++++++++++++++++++++++++++++++++++++++++++++++*/
struct MsgPort *CreatePort(Name, Pri)
char *Name;
LONG Pri;
{
UBYTE SigBit;
if ((SigBit = AllocSignal(-1)) != -1) {
struct MsgPort *const Port = AllocMem(sizeof(struct MsgPort),
MEMF_CLEAR | MEMF_PUBLIC);
if (Port) {
Port->mp_Node.ln_Name = Name;
Port->mp_Node.ln_Pri = Pri;
Port->mp_Node.ln_Type = NT_MSGPORT;
Port->mp_Flags = PA_SIGNAL;
Port->mp_SigBit = SigBit;
Port->mp_SigTask = (struct Task *)FindTask(0);
AddPort(Port);
return(Port);
}
else
FreeSignal((LONG)SigBit);
}
return(NULL);
}
VOID DeletePort(Port)
struct MsgPort *const Port;
{
RemPort(Port);
FreeSignal((LONG)Port->mp_SigBit);
FreeMem(Port,sizeof(struct MsgPort));
}